),J_=/^[ -~]{0,255}[!-~]$/,F_=/,|=/;class D_{_internalState=new Map;constructor(e){e&&this._parse(e)}set(e,t){const n=this._clone();return n._internalState.has(e)&&n._internalState.delete(e),n._internalState.set(e,t),n}unset(e){const t=this._clone();return t._internalState.delete(e),t}get(e){return this._internalState.get(e)}serialize(){return this._keys().reduce((e,t)=>(e.push(t+"="+this.get(t)),e),[]).join(",")}_parse(e){e.length>512||(this._internalState=e.split(",").reverse().reduce((e,t)=>{const n=t.trim(),r=n.indexOf("=");if(-1!==r){const i=n.slice(0,r),o=n.slice(r+1,t.length);(function(e){return L_.test(e)})(i)&&function(e){return J_.test(e)&&!F_.test(e)}(o)&&e.set(i,o)}return e},new Map),this._internalState.size>32&&(this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,32))))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){const e=new D_;return e._internalState=new Map(this._internalState),e}}const H_="traceparent",q_="tracestate",$_=new RegExp("^\\s?((?!ff)[\\da-f]{2})-((?![0]{32})[\\da-f]{32})-((?![0]{16})[\\da-f]{16})-([\\da-f]{2})(-.*)?\\s?$");class j_{inject(e,t,n){const r=$y.getSpanContext(e);if(!r||Yy(e)||!Uy(r))return;const i=`00-${r.traceId}-${r.spanId}-0${Number(r.traceFlags||yy.NONE).toString(16)}`;n.set(t,H_,i),r.traceState&&n.set(t,q_,r.traceState.serialize())}extract(e,t,n){const r=n.get(t,H_);if(!r)return e;const i=Array.isArray(r)?r[0]:r;if("string"!=typeof i)return e;const o=function(e){const t=$_.exec(e);return t?"00"===t[1]&&t[5]?null:{traceId:t[2],spanId:t[3],traceFlags:parseInt(t[4],16)}:null}(i);if(!o)return e;o.isRemote=!0;const s=n.get(t,q_);if(s){const e=Array.isArray(s)?s.join(","):s;o.traceState=new D_("string"==typeof e?e:void 0)}return $y.setSpanContext(e,o)}fields(){return[H_,q_]}}const V_="baggage";class z_{inject(e,t,n){const r=U_.getBaggage(e);if(!r||Yy(e))return;const i=function(e){return e.getAllEntries().map(([e,t])=>{let n=`${encodeURIComponent(e)}=${encodeURIComponent(t.value)}`;return void 0!==t.metadata&&(n+=";"+t.metadata.toString()),n})}(r).filter(e=>e.length<=4096).slice(0,180),o=function(e){return e.reduce((e,t)=>{const n=`${e}${""!==e?",":""}${t}`;return n.length>8192?e:n},"")}(i);o.length>0&&n.set(t,V_,o)}extract(e,t,n){const r=n.get(t,V_),i=Array.isArray(r)?r.join(","):r;if(!i)return e;const o={};return 0===i.length?e:(i.split(",").forEach(e=>{const t=function(e){const t=e.split(";");if(t.length<=0)return;const n=t.shift();if(!n)return;const r=n.indexOf("=");if(r<=0)return;const i=decodeURIComponent(n.substring(0,r).trim()),o=decodeURIComponent(n.substring(r+1).trim());let s;return t.length>0&&("string"!=typeof(a=t.join(";"))&&(R_.error("Cannot create baggage metadata from unknown type: "+typeof a),a=""),s={__TYPE__:N_,toString:function(){return a}}),{key:i,value:o,metadata:s};var a}(e);if(t){const e={value:t.value};t.metadata&&(e.metadata=t.metadata),o[t.key]=e}}),0===Object.entries(o).length?e:U_.setBaggage(e,U_.createBaggage(o)))}fields(){return[V_]}}class G_ extends w_{constructor(e={}){super(e)}register(e={}){var t;$y.setGlobalTracerProvider(this),null!==(t=e.propagator)&&(void 0!==t?U_.setGlobalPropagator(t):U_.setGlobalPropagator(new B_({propagators:[new j_,new z_]}))),function(e){if(null!==e){if(void 0===e){const e=new v_;return e.enable(),void Wy.setGlobalContextManager(e)}e.enable(),Wy.setGlobalContextManager(e)}}(e.contextManager)}}var W_,Z_=(W_=function(e,t){return W_=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},W_(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}W_(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),Y_=function(){function e(){}return e.prototype.createGauge=function(e,t){return uT},e.prototype.createHistogram=function(e,t){return dT},e.prototype.createCounter=function(e,t){return cT},e.prototype.createUpDownCounter=function(e,t){return fT},e.prototype.createObservableGauge=function(e,t){return hT},e.prototype.createObservableCounter=function(e,t){return lT},e.prototype.createObservableUpDownCounter=function(e,t){return pT},e.prototype.addBatchObservableCallback=function(e,t){},e.prototype.removeBatchObservableCallback=function(e){},e}(),X_=function(){},Q_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Z_(t,e),t.prototype.add=function(e,t){},t}(X_),eT=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Z_(t,e),t.prototype.add=function(e,t){},t}(X_),tT=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Z_(t,e),t.prototype.record=function(e,t){},t}(X_),nT=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Z_(t,e),t.prototype.record=function(e,t){},t}(X_),rT=function(){function e(){}return e.prototype.addCallback=function(e){},e.prototype.removeCallback=function(e){},e}(),iT=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Z_(t,e),t}(rT),oT=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Z_(t,e),t}(rT),sT=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Z_(t,e),t}(rT),aT=new Y_,cT=new Q_,uT=new tT,dT=new nT,fT=new eT,lT=new iT,hT=new oT,pT=new sT,gT=new(function(){function e(){}return e.prototype.getMeter=function(e,t,n){return aT},e}()),yT="metrics",mT=function(){function e(){}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalMeterProvider=function(e){return ay(yT,e,my.instance())},e.prototype.getMeterProvider=function(){return cy(yT)||gT},e.prototype.getMeter=function(e,t,n){return this.getMeterProvider().getMeter(e,t,n)},e.prototype.disable=function(){uy(yT,my.instance())},e}().getInstance();const bT="object"==typeof globalThis?globalThis:"object"==typeof self?self:"object"==typeof window?window:"object"==typeof s.g?s.g:{},wT=Symbol.for("io.opentelemetry.js.api.logs"),vT=bT;class ST{emit(e){}}const _T=new ST,TT=new class{getLogger(e,t,n){return new ST}};class kT{constructor(e,t,n,r){this._provider=e,this.name=t,this.version=n,this.options=r}emit(e){this._getLogger().emit(e)}_getLogger(){if(this._delegate)return this._delegate;const e=this._provider.getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):_T}}class xT{getLogger(e,t,n){var r;return null!==(r=this.getDelegateLogger(e,t,n))&&void 0!==r?r:new kT(this,e,t,n)}getDelegate(){var e;return null!==(e=this._delegate)&&void 0!==e?e:TT}setDelegate(e){this._delegate=e}getDelegateLogger(e,t,n){var r;return null===(r=this._delegate)||void 0===r?void 0:r.getLogger(e,t,n)}}class IT{constructor(){this._proxyLoggerProvider=new xT}static getInstance(){return this._instance||(this._instance=new IT),this._instance}setGlobalLoggerProvider(e){return vT[wT]?this.getLoggerProvider():(vT[wT]=(t=e,n=TT,e=>1===e?t:n),this._proxyLoggerProvider.setDelegate(e),e);var t,n}getLoggerProvider(){var e,t;return null!==(t=null===(e=vT[wT])||void 0===e?void 0:e.call(vT,1))&&void 0!==t?t:this._proxyLoggerProvider}getLogger(e,t,n){return this.getLoggerProvider().getLogger(e,t,n)}disable(){delete vT[wT],this._proxyLoggerProvider=new xT}}const ET=IT.getInstance();let AT=console.error.bind(console);function PT(e,t,n){const r=!!e[t]&&Object.prototype.propertyIsEnumerable.call(e,t);Object.defineProperty(e,t,{configurable:!0,enumerable:r,writable:!0,value:n})}const NT=(e,t,n)=>{if(!e||!e[t])return void AT("no original function "+String(t)+" to wrap");if(!n)return AT("no wrapper function"),void AT((new Error).stack);const r=e[t];if("function"!=typeof r||"function"!=typeof n)return void AT("original object and wrapper must be functions");const i=n(r,t);return PT(i,"__original",r),PT(i,"__unwrap",()=>{e[t]===i&&PT(e,t,r)}),PT(i,"__wrapped",!0),PT(e,t,i),i},RT=(e,t,n)=>{if(!e)return AT("must provide one or more modules to patch"),void AT((new Error).stack);Array.isArray(e)||(e=[e]),t&&Array.isArray(t)?e.forEach(e=>{t.forEach(t=>{NT(e,t,n)})}):AT("must provide one or more functions to wrap on modules")},OT=(e,t)=>{if(!e||!e[t])return AT("no function to unwrap."),void AT((new Error).stack);const n=e[t];n.__unwrap?n.__unwrap():AT("no original to unwrap to -- has "+String(t)+" already been unwrapped?")},CT=(e,t)=>{if(!e)return AT("must provide one or more modules to patch"),void AT((new Error).stack);Array.isArray(e)||(e=[e]),t&&Array.isArray(t)?e.forEach(e=>{t.forEach(t=>{OT(e,t)})}):AT("must provide one or more functions to unwrap on modules")};function KT(e){e&&e.logger&&("function"!=typeof e.logger?AT("new logger isn't a function, not replacing"):AT=e.logger)}KT.wrap=NT,KT.massWrap=RT,KT.unwrap=OT,KT.massUnwrap=CT;class UT{instrumentationName;instrumentationVersion;_config={};_tracer;_meter;_logger;_diag;constructor(e,t,n){this.instrumentationName=e,this.instrumentationVersion=t,this.setConfig(n),this._diag=zy.createComponentLogger({namespace:e}),this._tracer=$y.getTracer(e,t),this._meter=mT.getMeter(e,t),this._logger=ET.getLogger(e,t),this._updateMetricInstruments()}_wrap=NT;_unwrap=OT;_massWrap=RT;_massUnwrap=CT;get meter(){return this._meter}setMeterProvider(e){this._meter=e.getMeter(this.instrumentationName,this.instrumentationVersion),this._updateMetricInstruments()}get logger(){return this._logger}setLoggerProvider(e){this._logger=e.getLogger(this.instrumentationName,this.instrumentationVersion)}getModuleDefinitions(){const e=this.init()??[];return Array.isArray(e)?e:[e]}_updateMetricInstruments(){}getConfig(){return this._config}setConfig(e){this._config={enabled:!0,...e}}setTracerProvider(e){this._tracer=e.getTracer(this.instrumentationName,this.instrumentationVersion)}get tracer(){return this._tracer}_runSpanCustomizationHook(e,t,n,r){if(e)try{e(n,r)}catch(e){this._diag.error("Error running span customization hook due to exception in handler",{triggerName:t},e)}}}class BT extends UT{constructor(e,t,n){super(e,t,n),this._config.enabled&&this.enable()}}var MT;function LT(e,t,n){let r,i;try{i=e()}catch(e){r=e}finally{if(t(r,i),r&&!n)throw r;return i}}function JT(e,t){return"string"==typeof t?e===t:!!e.match(t)}!function(e){e[e.STABLE=1]="STABLE",e[e.OLD=2]="OLD",e[e.DUPLICATE=3]="DUPLICATE"}(MT||(MT={}));const FT=performance,DT=Math.pow(10,6),HT=Math.pow(10,9);function qT(e){const t=e/1e3;return[Math.trunc(t),Math.round(e%1e3*DT)]}function $T(e){return function(e,t){const n=[e[0]+t[0],e[1]+t[1]];return n[1]>=HT&&(n[1]-=HT,n[0]+=1),n}(qT(function(){let e=FT.timeOrigin;if("number"!=typeof e){const t=FT;e=t.timing&&t.timing.fetchStart}return e}()),qT("number"==typeof e?e:FT.now()))}var jT;!function(e){e.CONNECT_END="connectEnd",e.CONNECT_START="connectStart",e.DECODED_BODY_SIZE="decodedBodySize",e.DOM_COMPLETE="domComplete",e.DOM_CONTENT_LOADED_EVENT_END="domContentLoadedEventEnd",e.DOM_CONTENT_LOADED_EVENT_START="domContentLoadedEventStart",e.DOM_INTERACTIVE="domInteractive",e.DOMAIN_LOOKUP_END="domainLookupEnd",e.DOMAIN_LOOKUP_START="domainLookupStart",e.ENCODED_BODY_SIZE="encodedBodySize",e.FETCH_START="fetchStart",e.LOAD_EVENT_END="loadEventEnd",e.LOAD_EVENT_START="loadEventStart",e.NAVIGATION_START="navigationStart",e.REDIRECT_END="redirectEnd",e.REDIRECT_START="redirectStart",e.REQUEST_START="requestStart",e.RESPONSE_END="responseEnd",e.RESPONSE_START="responseStart",e.SECURE_CONNECTION_START="secureConnectionStart",e.START_TIME="startTime",e.UNLOAD_EVENT_END="unloadEventEnd",e.UNLOAD_EVENT_START="unloadEventStart"}(jT||(jT={}));const VT=performance,zT=Math.pow(10,6),GT=Math.pow(10,9);function WT(e){const t=e/1e3;return[Math.trunc(t),Math.round(e%1e3*zT)]}function ZT(){let e=VT.timeOrigin;if("number"!=typeof e){const t=VT;e=t.timing&&t.timing.fetchStart}return e}function YT(e){if(t=e,Array.isArray(t)&&2===t.length&&"number"==typeof t[0]&&"number"==typeof t[1])return e;var t,n;if("number"==typeof e)return e=GT&&(n[1]-=GT,n[0]+=1),n}(WT(ZT()),WT("number"==typeof n?n:VT.now()))):WT(e);if(e instanceof Date)return WT(e.getTime());throw TypeError("Invalid input type")}function XT(e){return e[0]*GT+e[1]}let QT;function ek(e,t,n,r=!0){if(t in n&&"number"==typeof n[t]&&(!r||0!==n[t]))return e.addEvent(t,n[t])}function tk(e,t,n=!1,r,i){if(void 0===r&&(r=0!==t[jT.START_TIME]),n||(ek(e,jT.FETCH_START,t,r),ek(e,jT.DOMAIN_LOOKUP_START,t,r),ek(e,jT.DOMAIN_LOOKUP_END,t,r),ek(e,jT.CONNECT_START,t,r),ek(e,jT.SECURE_CONNECTION_START,t,r),ek(e,jT.CONNECT_END,t,r),ek(e,jT.REQUEST_START,t,r),ek(e,jT.RESPONSE_START,t,r),ek(e,jT.RESPONSE_END,t,r)),!i){const n=t[jT.ENCODED_BODY_SIZE];void 0!==n&&e.setAttribute("http.response_content_length",n);const r=t[jT.DECODED_BODY_SIZE];void 0!==r&&n!==r&&e.setAttribute("http.response_content_length_uncompressed",r)}}function nk(){return"undefined"!=typeof location?location.origin:void 0}function rk(e){if("function"==typeof URL)return new URL(e,"undefined"!=typeof document?document.baseURI:"undefined"!=typeof location?location.href:void 0);const t=(QT||(QT=document.createElement("a")),QT);return t.href=e,t}var ik;!function(e){e.COMPONENT="component",e.HTTP_STATUS_TEXT="http.status_text"}(ik||(ik={}));var ok=s(7805);const sk=zy.createComponentLogger({namespace:"@opentelemetry/opentelemetry-instrumentation-fetch/utils"});const ak=new TextEncoder;function ck(e){return ak.encode(e).byteLength}const uk={CONNECT:!0,DELETE:!0,GET:!0,HEAD:!0,OPTIONS:!0,PATCH:!0,POST:!0,PUT:!0,TRACE:!0};let dk;function fk(){if(void 0===dk){const e=void 0;e&&e.length>0?(dk={},e.forEach(e=>{dk[e]=!0})):dk=uk}return dk}const lk={"https:":"443","http:":"80"},hk="0.203.0",pk="object"==typeof globalThis?globalThis:"object"==typeof self?self:"object"==typeof window?window:"object"==typeof s.g?s.g:{},gk="object"==typeof process&&"node"===process.release?.name;class yk extends BT{component="fetch";version=hk;moduleName=this.component;_usedResources=new WeakSet;_tasksCount=0;_semconvStability;constructor(e={}){super("@opentelemetry/instrumentation-fetch",hk,e),this._semconvStability=function(e,t){let n=MT.OLD;const r=t?.split(",").map(e=>e.trim()).filter(e=>""!==e);for(const t of r??[]){if(t.toLowerCase()===e+"/dup"){n=MT.DUPLICATE;break}t.toLowerCase()===e&&(n=MT.STABLE)}return n}("http",e?.semconvStabilityOptIn)}init(){}_addChildSpan(e,t){const n=this.tracer.startSpan("CORS Preflight",{startTime:t[jT.FETCH_START]},$y.setSpan(Wy.active(),e)),r=!(this._semconvStability&MT.OLD);tk(n,t,this.getConfig().ignoreNetworkEvents,void 0,r),n.end(t[jT.RESPONSE_END])}_addFinalSpanAttributes(e,t){const n=rk(t.url);if(this._semconvStability&MT.OLD&&(e.setAttribute(ok.a3,t.status),null!=t.statusText&&e.setAttribute(ik.HTTP_STATUS_TEXT,t.statusText),e.setAttribute(ok.Mm,n.host),e.setAttribute(ok.v8,n.protocol.replace(":","")),"undefined"!=typeof navigator&&e.setAttribute(ok.ds,navigator.userAgent)),this._semconvStability&MT.STABLE){e.setAttribute("http.response.status_code",t.status),e.setAttribute("server.address",n.hostname);const r=function(e){const t=Number(e.port||lk[e.protocol]);return t&&!isNaN(t)?t:void 0}(n);r&&e.setAttribute("server.port",r)}}_addHeaders(e,t){if(!function(e,t){let n=t||[];return("string"==typeof n||n instanceof RegExp)&&(n=[n]),rk(e).origin===nk()||n.some(t=>{return n=e,"string"==typeof(r=t)?n===r:!!n.match(r);var n,r})}(t,this.getConfig().propagateTraceHeaderCorsUrls)){const e={};return U_.inject(Wy.active(),e),void(Object.keys(e).length>0&&this._diag.debug("headers inject skipped due to CORS policy"))}if(e instanceof Request)U_.inject(Wy.active(),e.headers,{set:(e,t,n)=>e.set(t,"string"==typeof n?n:String(n))});else if(e.headers instanceof Headers)U_.inject(Wy.active(),e.headers,{set:(e,t,n)=>e.set(t,"string"==typeof n?n:String(n))});else if(e.headers instanceof Map)U_.inject(Wy.active(),e.headers,{set:(e,t,n)=>e.set(t,"string"==typeof n?n:String(n))});else{const t={};U_.inject(Wy.active(),t),e.headers=Object.assign({},t,e.headers||{})}}_clearResources(){0===this._tasksCount&&this.getConfig().clearTimingResources&&(performance.clearResourceTimings(),this._usedResources=new WeakSet)}_createSpan(e,t={}){if(function(e,t){if(!t)return!1;for(const n of t)if(JT(e,n))return!0;return!1}(e,this.getConfig().ignoreUrls))return void this._diag.debug("ignoring span as url matches ignored url");let n="";const r={};if(this._semconvStability&MT.OLD){const i=(t.method||"GET").toUpperCase();n=`HTTP ${i}`,r[ik.COMPONENT]=this.moduleName,r[ok.rp]=i,r[ok.XV]=e}if(this._semconvStability&MT.STABLE){const i=t.method,o=function(e){const t=fk(),n=e.toUpperCase();return n in t?n:"_OTHER"}(t.method||"GET");n||(n=o),r["http.request.method"]=o,o!==i&&(r["http.request.method_original"]=i),r["url.full"]=e}return this.tracer.startSpan(n,{kind:WS.CLIENT,attributes:r})}_findResourceAndAddNetworkEvents(e,t,n){let r=t.entries;if(!r.length){if(!performance.getEntriesByType)return;r=performance.getEntriesByType("resource")}const i=function(e,t,n,r,i=new WeakSet,o){const s=rk(e),a=function(e,t,n,r,i,o){const s=XT(t),a=XT(n);let c=r.filter(t=>{const n=XT(YT(t[jT.FETCH_START])),r=XT(YT(t[jT.RESPONSE_END]));return t.initiatorType.toLowerCase()===(o||"xmlhttprequest")&&t.name===e&&n>=s&&r<=a});return c.length>0&&(c=c.filter(e=>!i.has(e))),c}(e=s.toString(),t,n,r,i,o);if(0===a.length)return{mainRequest:void 0};if(1===a.length)return{mainRequest:a[0]};const c=function(e){return e.slice().sort((e,t)=>{const n=e[jT.FETCH_START],r=t[jT.FETCH_START];return n>r?1:n1){let e=c[0],t=function(e,t,n){const r=XT(n),i=XT(YT(t));let o,s=e[1];const a=e.length;for(let t=1;t=i&&(!o||c=400&&(e.setStatus({code:YS.ERROR}),e.setAttribute("error.type",String(n.status))),setTimeout(()=>{t.observer?.disconnect(),this._findResourceAndAddNetworkEvents(e,t,i),this._tasksCount--,this._clearResources(),e.end(r)},300)}_patchConstructor(){return e=>{const t=this;return function(...n){const r=this,i=rk(n[0]instanceof Request?n[0].url:String(n[0])).href,o=n[0]instanceof Request?n[0]:n[1]||{},s=t._createSpan(i,o);if(!s)return e.apply(this,n);const a=t._prepareSpanData(i);function c(e,n){t._applyAttributesAfterFetch(e,o,n),t._endSpan(e,a,{status:n.status||0,statusText:n.message,url:i})}function u(e,n){t._applyAttributesAfterFetch(e,o,n),n.status>=200&&n.status<400?t._endSpan(e,a,n):t._endSpan(e,a,{status:n.status,statusText:n.statusText,url:i})}function d(e,t,n){try{const t=n.clone().body;if(t){const r=t.getReader(),i=()=>{r.read().then(({done:t})=>{t?u(e,n):i()},t=>{c(e,t)})};i()}else u(e,n)}finally{t(n)}}function f(e,t,n){try{c(e,n)}finally{t(n)}}return t.getConfig().measureRequestSize&&function(...e){if(e[0]instanceof URL||"string"==typeof e[0]){const n=e[1];if(!n?.body)return Promise.resolve();if(n.body instanceof ReadableStream){const{body:e,length:t}=function(e){if(!e.pipeThrough)return sk.warn("Platform has ReadableStream but not pipeThrough!"),{body:e,length:Promise.resolve(void 0)};let t,n=0;const r=new Promise(e=>{t=e}),i=new TransformStream({start(){},async transform(e,t){const r=await e;n+=r.byteLength,t.enqueue(e)},flush(){t(n)}});return{body:e.pipeThrough(i),length:r}}(n.body);return n.body=e,t}return Promise.resolve((t=n.body,"undefined"!=typeof Document&&t instanceof Document?(new XMLSerializer).serializeToString(document).length:"string"==typeof t?ck(t):t instanceof Blob?t.size:t instanceof FormData?function(e){let t=0;for(const[n,r]of e.entries())t+=n.length,r instanceof Blob?t+=r.size:t+=r.length;return t}(t):t instanceof URLSearchParams?ck(t.toString()):void 0!==t.byteLength?t.byteLength:void sk.warn("unknown body type")))}var t;{const t=e[0];return t?.body?t.clone().text().then(e=>ck(e)):Promise.resolve()}}(...n).then(e=>{e&&(t._semconvStability&MT.OLD&&s.setAttribute(ok.z4,e),t._semconvStability&MT.STABLE&&s.setAttribute(ok.Me,e))}).catch(e=>{t._diag.warn("getFetchBodyLength",e)}),new Promise((n,a)=>Wy.with($y.setSpan(Wy.active(),s),()=>(t._addHeaders(o,i),t._callRequestHook(s,o),t._tasksCount++,e.apply(r,o instanceof Request?[o]:[i,o]).then(d.bind(r,s,n),f.bind(r,s,a)))))}}}_applyAttributesAfterFetch(e,t,n){const r=this.getConfig().applyCustomAttributesOnSpan;r&<(()=>r(e,t,n),e=>{e&&this._diag.error("applyCustomAttributesOnSpan",e)},!0)}_callRequestHook(e,t){const n=this.getConfig().requestHook;n&<(()=>n(e,t),e=>{e&&this._diag.error("requestHook",e)},!0)}_prepareSpanData(e){const t=$T(),n=[];if("function"!=typeof PerformanceObserver)return{entries:n,startTime:t,spanUrl:e};const r=new PerformanceObserver(t=>{t.getEntries().forEach(t=>{"fetch"===t.initiatorType&&t.name===e&&n.push(t)})});return r.observe({entryTypes:["resource"]}),{entries:n,observer:r,startTime:t,spanUrl:e}}enable(){var e;gk?this._diag.warn("this instrumentation is intended for web usage only, it does not instrument Node.js's fetch()"):("function"==typeof(e=fetch)&&"function"==typeof e.__original&&"function"==typeof e.__unwrap&&!0===e.__wrapped&&(this._unwrap(pk,"fetch"),this._diag.debug("removing previous patch for constructor")),this._wrap(pk,"fetch",this._patchConstructor()))}disable(){gk||(this._unwrap(pk,"fetch"),this._usedResources=new WeakSet)}}var mk=class extends kv{transport;constructor(e,t=(0,SS.FetchTransport)()){super(e),this.transport=t}async createChannelWithTLS(e){try{return(0,SS.createChannel)(e,this.transport)}catch(t){throw console.error("Channel creation error:",t),new pm("Failed to create channel",{url:e,operation:"createChannel",errorCount:1,errors:t instanceof Error?t.message:String(t)},t)}}createAuthnMiddleware(){return async function*(e,t){const n=(0,Cg.Metadata)(t.metadata).set("X-Requested-With","XMLHttpRequest").set("X-Grpc-Web","1").set("X-Client-Env",Gw).set("Content-Type","application/grpc-web+proto");return yield*e.next(e.request,{...t,metadata:n})}.bind(this)}createMiddleware(e){return async function*(t,n){const r=(0,Cg.Metadata)(n.metadata).set("X-Requested-With","XMLHttpRequest").set("X-Grpc-Web","1").set("X-Client-Env",Gw).set("Content-Type","application/grpc-web+proto");try{const i=await this.authenticate(e);return yield*t.next(t.request,{...n,metadata:r.set("Authorization",`Bearer ${i}`)})}catch(i){return yield*this.handleMiddlewareError(i,e,t,r,n)}}.bind(this)}async createGrpcClient(e,t,n,r,i){let o;let s={};return o=(0,SS.createClientFactory)(),n&&(s={retry:!0,retryMaxAttempts:3},o=o.use(_S.D)),r&&(o=o.use(r)),{...o.create(e,t,{"*":s}),close:i?()=>kv.releaseChannel(i):void 0}}},bk=class extends mS{buildConnectionManager(e){return new mk(e)}initializeTracerEnv({spanProcessors:e,traceUrls:t}){!function({spanProcessors:e,traceUrls:t}){new G_({spanProcessors:e}).register(),U_.setGlobalPropagator(new j_),function(e){const t=e.tracerProvider||$y.getTracerProvider(),n=e.meterProvider||mT.getMeterProvider(),r=e.loggerProvider||ET.getLoggerProvider();!function(e,t,n,r){for(let i=0,o=e.length;ie.replace(/[.*+?^${}()|[\]\\]/g,"\\")).join("|")}))`)],propagateTraceHeaderCorsUrls:/.*/})]})}({spanProcessors:e,traceUrls:t})}};function wk(e,t=""){if(!Number.isSafeInteger(e)||e<0)throw new Error(`${t&&`"${t}" `}expected integer >= 0, got ${e}`)}function vk(e,t,n=""){const r=(i=e)instanceof Uint8Array||ArrayBuffer.isView(i)&&"Uint8Array"===i.constructor.name;var i;const o=e?.length,s=void 0!==t;if(!r||s&&o!==t)throw new Error((n&&`"${n}" `)+"expected Uint8Array"+(s?` of length ${t}`:"")+", got "+(r?`length=${o}`:"type="+typeof e));return e}function Sk(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash must wrapped by utils.createHasher");wk(e.outputLen),wk(e.blockLen)}function _k(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Tk(...e){for(let t=0;t>>t}const Ik=(()=>"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),Ek=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Ak(e,t={}){const n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}const Pk=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function Nk(e,t,n){return e&t^~e&n}function Rk(e,t,n){return e&t^e&n^t&n}class Ok{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,n,r){this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=kk(this.buffer)}update(e){_k(this),vk(e);const{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let o=0;o='+n)}(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:r,isLE:i}=this;let{pos:o}=this;t[o++]=128,Tk(this.buffer.subarray(o)),this.padOffset>r-o&&(this.process(n,0),o=0);for(let e=o;eu.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e>>3,i=xk(n,17)^xk(n,19)^n>>>10;Uk[e]=i+Uk[e-7]+r+Uk[e-16]|0}let{A:n,B:r,C:i,D:o,E:s,F:a,G:c,H:u}=this;for(let e=0;e<64;e++){const t=u+(xk(s,6)^xk(s,11)^xk(s,25))+Nk(s,a,c)+Kk[e]+Uk[e]|0,d=(xk(n,2)^xk(n,13)^xk(n,22))+Rk(n,r,i)|0;u=c,c=a,a=s,s=o+t|0,o=i,i=r,r=n,n=t+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(n,r,i,o,s,a,c,u)}roundClean(){Tk(Uk)}destroy(){this.set(0,0,0,0,0,0,0,0),Tk(this.buffer)}}class Mk extends Bk{A=0|Ck[0];B=0|Ck[1];C=0|Ck[2];D=0|Ck[3];E=0|Ck[4];F=0|Ck[5];G=0|Ck[6];H=0|Ck[7];constructor(){super(32)}}const Lk=Ak(()=>new Mk,Pk(1));function Jk(e){const t="string"==typeof e?function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e):e,n=function(e){if(vk(e),Ik)return e.toHex();let t="";for(let n=0;nn?e.create().update(t).digest():t);for(let e=0;enew Hk(e,t).update(n).digest();qk.create=(e,t)=>new Hk(e,t);const $k=Uint8Array.of(0),jk=Uint8Array.of(),Vk={p:0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,n:0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,h:1n,a:0n,b:7n,Gx:0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,Gy:0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n},{p:zk,n:Gk,Gx:Wk,Gy:Zk,b:Yk}=Vk,Xk={publicKey:33,publicKeyUncompressed:65,signature:64,seed:48},Qk=(e="")=>{const t=new Error(e);throw((...e)=>{"captureStackTrace"in Error&&"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(...e)})(t,Qk),t},ex=(e,t,n="")=>{const r=(i=e)instanceof Uint8Array||ArrayBuffer.isView(i)&&"Uint8Array"===i.constructor.name;var i;const o=e?.length,s=void 0!==t;return(!r||s&&o!==t)&&Qk((n&&`"${n}" `)+"expected Uint8Array"+(s?` of length ${t}`:"")+", got "+(r?`length=${o}`:"type="+typeof e)),e},tx=e=>new Uint8Array(e),nx=(e,t)=>e.toString(16).padStart(t,"0"),rx=e=>Array.from(ex(e)).map(e=>nx(e,2)).join(""),ix=e=>e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0,ox=e=>{const t="hex invalid";if("string"!=typeof e)return Qk(t);const n=e.length,r=n/2;if(n%2)return Qk(t);const i=tx(r);for(let n=0,o=0;n{const t=tx(e.reduce((e,t)=>e+ex(t).length,0));let n=0;return e.forEach(e=>{t.set(e,n),n+=e.length}),t},ax=(e=32)=>(globalThis?.crypto).getRandomValues(tx(e)),cx=BigInt,ux=(e,t,n,r="bad number: out of range")=>(e=>"bigint"==typeof e)(e)&&t<=e&&e{const n=e%t;return n>=0n?n:t+n},fx=e=>e instanceof mx?e:Qk("Point expected"),lx=e=>dx(dx(e*e)*e+Yk),hx=e=>ux(e,0n,zk),px=e=>ux(e,1n,zk),gx=e=>0n==(1n&e),yx=e=>Uint8Array.of(e);class mx{static BASE;static ZERO;X;Y;Z;constructor(e,t,n){this.X=hx(e),this.Y=px(t),this.Z=hx(n),Object.freeze(this)}static CURVE(){return Vk}static fromAffine(e){const{x:t,y:n}=e;return 0n===t&&0n===n?wx:new mx(t,n,1n)}static fromBytes(e){ex(e);const{publicKey:t,publicKeyUncompressed:n}=Xk;let r;const i=e.length,o=e[0],s=e.subarray(1),a=Sx(s,0,32);if(i===t&&(2===o||3===o)){let e=(e=>{const t=lx(px(e));let n=1n;for(let e=t,r=(zk+1n)/4n;r>0n;r>>=1n)1n&r&&(n=n*e%zk),e=e*e%zk;return dx(n*n)===t?n:Qk("sqrt invalid")})(a);const t=gx(e);gx(cx(o))!==t&&(e=dx(-e)),r=new mx(a,e,1n)}return i===n&&4===o&&(r=new mx(a,Sx(s,32,64),1n)),r?r.assertValidity():Qk("bad point: not on curve")}static fromHex(e){return mx.fromBytes(ox(e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}equals(e){const{X:t,Y:n,Z:r}=this,{X:i,Y:o,Z:s}=fx(e),a=dx(t*s),c=dx(i*r),u=dx(n*s),d=dx(o*r);return a===c&&u===d}is0(){return this.equals(wx)}negate(){return new mx(this.X,dx(-this.Y),this.Z)}double(){return this.add(this)}add(e){const{X:t,Y:n,Z:r}=this,{X:i,Y:o,Z:s}=fx(e);let a=0n,c=0n,u=0n;const d=dx(3n*Yk);let f=dx(t*i),l=dx(n*o),h=dx(r*s),p=dx(t+n),g=dx(i+o);p=dx(p*g),g=dx(f+l),p=dx(p-g),g=dx(t+r);let y=dx(i+s);return g=dx(g*y),y=dx(f+h),g=dx(g-y),y=dx(n+r),a=dx(o+s),y=dx(y*a),a=dx(l+h),y=dx(y-a),u=dx(0n*g),a=dx(d*h),u=dx(a+u),a=dx(l-u),u=dx(l+u),c=dx(a*u),l=dx(f+f),l=dx(l+f),h=dx(0n*h),g=dx(d*g),l=dx(l+h),h=dx(f-h),h=dx(0n*h),g=dx(g+h),f=dx(l*g),c=dx(c+f),f=dx(y*g),a=dx(p*a),a=dx(a-f),f=dx(p*l),u=dx(y*u),u=dx(u+f),new mx(a,c,u)}subtract(e){return this.add(fx(e).negate())}multiply(e,t=!0){if(!t&&0n===e)return wx;if((e=>{ux(e,1n,Gk)})(e),1n===e)return this;if(this.equals(bx))return Ox(e).p;let n=wx,r=bx;for(let i=this;e>0n;i=i.double(),e>>=1n)1n&e?n=n.add(i):t&&(r=r.add(i));return n}multiplyUnsafe(e){return this.multiply(e,!1)}toAffine(){const{X:e,Y:t,Z:n}=this;if(this.equals(wx))return{x:0n,y:0n};if(1n===n)return{x:e,y:t};const r=((e,t)=>{(0n===e||t<=0n)&&Qk("no inverse n="+e+" mod="+t);let n=dx(e,t),r=t,i=0n,o=1n,s=1n,a=0n;for(;0n!==n;){const e=r/n,t=r%n,c=i-s*e,u=o-a*e;r=n,n=t,i=s,o=a,s=c,a=u}return 1n===r?dx(i,t):Qk("no inverse")})(n,zk);return 1n!==dx(n*r)&&Qk("inverse invalid"),{x:dx(e*r),y:dx(t*r)}}assertValidity(){const{x:e,y:t}=this.toAffine();return px(e),px(t),dx(t*t)===lx(e)?this:Qk("bad point: not on curve")}toBytes(e=!0){const{x:t,y:n}=this.assertValidity().toAffine(),r=Tx(t);return e?sx((e=>yx(gx(e)?2:3))(n),r):sx(yx(4),r,Tx(n))}toHex(e){return rx(this.toBytes(e))}}const bx=new mx(Wk,Zk,1n),wx=new mx(0n,1n,0n);mx.BASE=bx,mx.ZERO=wx;const vx=e=>cx("0x"+(rx(e)||"0")),Sx=(e,t,n)=>vx(e.subarray(t,n)),_x=2n**256n,Tx=e=>ox(nx(ux(e,0n,_x),64)),kx=e=>{const t=vx(ex(e,32,"secret key"));return ux(t,1n,Gk,"invalid secret key: outside of range")},xx=(e,t=!0)=>bx.multiply(kx(e)).toBytes(t);tx(0),yx(0),yx(1);const Ix=(e,t,n=!0)=>mx.fromBytes(t).multiply(kx(e)).toBytes(n),Ex=e=>t=>{const n=((e=ax(Xk.seed))=>{ex(e),(e.length1024)&&Qk("expected 40-1024b");const t=dx(vx(e),Gk-1n);return Tx(t+1n)})(t);return{secretKey:n,publicKey:e(n)}},Ax=(Ex(xx),e=>{const t=kx(e),n=bx.multiply(t),{x:r,y:i}=n.assertValidity().toAffine();return{d:gx(i)?t:(o=-t,dx(o,Gk)),px:Tx(r)};var o}),Px=(Ex(e=>Ax(e).px),Math.ceil(32)+1);let Nx;const Rx=(e,t)=>{const n=t.negate();return e?n:t},Ox=e=>{const t=Nx||(Nx=(()=>{const e=[];let t=bx,n=t;for(let r=0;r>=o,a>128&&(a-=256,e+=1n);const c=128*s,u=c,d=c+Math.abs(a)-1,f=s%2!=0,l=a<0;0===a?r=r.add(Rx(f,t[u])):n=n.add(Rx(l,t[d]))}return 0n!==e&&Qk("invalid wnaf"),{p:n,f:r}};var Cx=s(8287).hp,Kx=s(8287).hp;const Ux=e=>{if(e instanceof Uint8Array)return e;if("string"!=typeof e)throw new Error("Expected hex string or Uint8Array");const t=new Uint8Array(e.length/2);for(let n=0;nDk().lib.WordArray.create(e);function Mx(e){return t=Lk,n=e,r=new Uint8Array(0),i=(new TextEncoder).encode("ecdh-aes-key"),o=32,function(e,t,n,r=32){Sk(e),wk(r,"length");const i=e.outputLen;if(r>255*i)throw new Error("Length must be <= 255*HashLen");const o=Math.ceil(r/i);void 0===n?n=jk:vk(n,void 0,"info");const s=new Uint8Array(o*i),a=qk.create(e,t),c=a._cloneInto(),u=new Uint8Array(a.outputLen);for(let e=0;e{let t="";const n=new Uint8Array(e),r=n.byteLength;for(let e=0;e{const t=Fx[e];if(!t)throw new Error("sparkWallet not initialized");return t},Hx=async(e,t)=>{const n={incomingPayment:!0,result:JSON.stringify({transferId:e,balance:t.toString()}),isResponse:!0};try{const e=await Lx(JSON.stringify(n));window.ReactNativeWebView.postMessage(JSON.stringify({encrypted:e}))}catch(e){console.error("Encryption error during handleTransfer:",e)}};var qx=s(8287).hp;async function $x(e){try{if("string"!=typeof e.data)return;let t=JSON.parse(e.data);if(t.isResponse)return;if("handshake:init"===t?.action&&t?.args?.pubN){window.ecdhKeyPair=await async function(){const e=function(e=32){const t="object"==typeof globalThis?globalThis.crypto:null;if("function"!=typeof t?.getRandomValues)throw new Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}(32);return{privateKey:e,publicKey:xx(e,!0)}}();const e=t?.args?.pubN;window.devicePubkey=e;const n={id:t.id,success:!0,type:"handshake:reply",pubW:qx.from(window.ecdhKeyPair.publicKey).toString("hex"),isResponse:!0};return console.log("Session key established with native"),void window.ReactNativeWebView.postMessage(JSON.stringify(n))}if(t.encrypted){const e=await async function(e){try{const n="string"==typeof window.ecdhKeyPair.privateKey?window.ecdhKeyPair.privateKey:Kx.from(window.ecdhKeyPair.privateKey).toString("hex"),r="string"==typeof window.devicePubkey?window.devicePubkey:Kx.from(window.devicePubkey).toString("hex"),i=Mx(Ix(Ux(n),Ux(r),!0).slice(1,33)),o=Bx(i);if(!e.includes("?iv="))throw new Error("Missing IV");const[s,a]=e.split("?iv="),c=(t=a,Dk().enc.Base64.parse(t));return Dk().AES.decrypt(s,o,{iv:c,mode:Dk().mode.CBC,padding:Dk().pad.Pkcs7}).toString(Dk().enc.Utf8)}catch(e){throw console.error("Web decryptMessage err",e),e}var t}(t.encrypted);t=JSON.parse(e)}if("simulate_crash"===t.action)for(;;)window.location.reload();if(!window.sparkAPI[t.action])throw new Error(`Unknown Spark action: ${t.action}`);const n=await window.sparkAPI[t.action](t.args),r={id:t.id,success:!0,result:JSON.stringify(n),isResponse:!0},i=await Lx(JSON.stringify(r));window.ReactNativeWebView.postMessage(JSON.stringify({encrypted:i,isResponse:!0}))}catch(e){console.error("Spark WebContext error:",e),window.ReactNativeWebView.postMessage(JSON.stringify({err:e.message,isResponse:!0}))}}window.ecdhKeyPair={},window.devicePubkey=null,window.ReactNativeWebView||(console.log("🧩 Mocking ReactNativeWebView for local testing..."),window.ReactNativeWebView={postMessage:e=>{console.log("[Mock postMessage] -> RN:",e),setTimeout(()=>{window.dispatchEvent(new MessageEvent("message",{data:e}))},500)}}),window.sparkAPI={initializeSparkWallet:async({mnemonic:e})=>{try{const t=(e=>Jk(e))(e);if(Fx[t])return{isConnected:!0};const{wallet:n}=await bk.initialize({mnemonicOrSeed:e,options:{network:"MAINNET"}});return Fx[t]=n,{isConnected:!0}}catch(e){return console.log("Initialize spark wallet error function",e),{isConnected:!1,error:e.message}}},getSparkBalance:async({mnemonic:e})=>{try{const t=Dx(e),n=await t.getBalance();let r={};for(const[e,t]of n.tokenBalances)r[e]={...t,tokenMetadata:{...t.tokenMetadata,maxSupply:t.tokenMetadata.maxSupply.toString()},balance:t.balance.toString()};return{tokensObject:r,balance:n.balance.toString(),didWork:!0}}catch(e){return console.log("Get spark balance error",e),{didWork:!1}}},getSparkAddress:async({mnemonic:e})=>{try{return{didWork:!0,response:await Dx(e).getSparkAddress()}}catch(e){return console.log("Get spark address error",e),{didWork:!1,error:e.message}}},getSparkIdentityPubKey:async({mnemonic:e})=>{try{return await Dx(e).getIdentityPublicKey()}catch(e){console.log("Get spark balance error",e)}},getSparkStaticBitcoinL1Address:async({mnemonic:e})=>{try{return await Dx(e).getStaticDepositAddress()}catch(e){console.log("Get reusable Bitcoin mainchain address error",e)}},queryAllStaticDepositAddresses:async({mnemonic:e})=>{try{return await Dx(e).queryStaticDepositAddresses()}catch(e){console.log("refund reusable Bitcoin mainchain address error",e)}},getSparkStaticBitcoinL1AddressQuote:async({txid:e,mnemonic:t})=>{try{return{didwork:!0,quote:await Dx(t).getClaimStaticDepositQuote(e)}}catch(e){return console.log("Get reusable Bitcoin mainchain address quote error",e),{didwork:!1,error:e.message}}},claimnSparkStaticDepositAddress:async({creditAmountSats:e,outputIndex:t,sspSignature:n,transactionId:r,mnemonic:i})=>{try{return{didWork:!0,response:await Dx(i).claimStaticDeposit({creditAmountSats:e,sspSignature:n,transactionId:r})}}catch(e){return console.log("claim static deposit address error",e),{didWork:!1,error:e.message}}},sendSparkPayment:async({receiverSparkAddress:e,amountSats:t,mnemonic:n})=>{try{return{didWork:!0,response:await Dx(n).transfer({receiverSparkAddress:e.toLowerCase(),amountSats:t})}}catch(e){return console.log("Send spark payment error",e),{didWork:!1,error:e.message}}},sendSparkTokens:async({tokenIdentifier:e,tokenAmount:t,receiverSparkAddress:n,mnemonic:r})=>{try{return{didWork:!0,response:await Dx(r).transferTokens({tokenIdentifier:e,tokenAmount:BigInt(t),receiverSparkAddress:n})}}catch(e){return console.log("Send spark token error",e),{didWork:!1,error:e.message}}},sendSparkLightningPayment:async({invoice:e,maxFeeSats:t,amountSats:n,mnemonic:r})=>{try{return{didWork:!0,paymentResponse:await Dx(r).payLightningInvoice({invoice:e.toLowerCase(),maxFeeSats:t,amountSatsToSend:n})}}catch(e){return console.log("Send lightning payment error",e),{didWork:!1,error:e.message}}},sendSparkBitcoinPayment:async({onchainAddress:e,exitSpeed:t,amountSats:n,feeQuote:r,deductFeeFromWithdrawalAmount:i=!1,mnemonic:o})=>{try{return{didWork:!0,response:await Dx(o).withdraw({onchainAddress:e,exitSpeed:t,amountSats:n,feeQuote:r,deductFeeFromWithdrawalAmount:i})}}catch(e){return console.log("Send Bitcoin payment error",e),{didWork:!1,error:e.message}}},receiveSparkLightningPayment:async({amountSats:e,memo:t,mnemonic:n})=>{try{return{didWork:!0,response:await Dx(n).createLightningInvoice({amountSats:e,memo:t,expirySeconds:43200})}}catch(e){return console.log("Receive lightning payment error",e),{didWork:!1,error:e.message}}},getSparkLightningPaymentStatus:async({lightningInvoiceId:e,mnemonic:t})=>{try{return await Dx(t).getLightningReceiveRequest(e)}catch(e){console.log("Get lightning payment status error",e)}},getSparkTransactions:async({transferCount:e=100,offsetIndex:t,mnemonic:n})=>{try{const r=await Dx(n).getTransfers(e,t);return{transfers:r.transfers.map(e=>(delete e.leaves,e)),offset:r.offset}}catch(e){return console.log("get spark transactions error",e),{transfers:[]}}},getSparkPaymentStatus:e=>"TRANSFER_STATUS_COMPLETED"===e||e===qs.TRANSFER_COMPLETED||e===Vs.SUCCEEDED||e===Fs.TRANSFER_COMPLETED||e===qs.PREIMAGE_PROVIDED||e===Os.SUCCEEDED||e===Gs.SUCCEEDED||e===Ts.TRANSFER_COMPLETED?"completed":"TRANSFER_STATUS_RETURNED"===e||"TRANSFER_STATUS_EXPIRED"===e||"TRANSFER_STATUS_SENDER_INITIATED"===e||e===qs.LIGHTNING_PAYMENT_FAILED||e===Vs.FAILED||e===Vs.EXPIRED||e===Fs.TRANSFER_FAILED||e===Fs.PAYMENT_PREIMAGE_RECOVERING_FAILED||e===Fs.REFUND_SIGNING_COMMITMENTS_QUERYING_FAILED||e===Fs.REFUND_SIGNING_FAILED||e===Os.FAILED||e===Os.EXPIRED||e===Gs.FAILED||e===Ts.TRANSFER_CREATION_FAILED||e===Ts.REFUND_SIGNING_FAILED||e===Ts.UTXO_SWAPPING_FAILED||e===Fs.FUTURE_VALUE?"failed":"pending",getSparkLightningPaymentFeeEstimate:async({invoice:e,amountSat:t,mnemonic:n})=>{try{return{didWork:!0,response:await Dx(n).getLightningSendFeeEstimate({encodedInvoice:e.toLowerCase(),amountSats:t})}}catch(e){return console.log("Get lightning payment fee error",e),{didWork:!1,error:e.message}}},getSparkBitcoinPaymentRequest:async({paymentId:e,mnemonic:t})=>{try{return await Dx(t).getCoopExitRequest(e)}catch(e){console.log("Get bitcoin payment fee estimate error",e)}},getSparkBitcoinPaymentFeeEstimate:async({amountSats:e,withdrawalAddress:t,mnemonic:n})=>{try{return{didWork:!0,response:await Dx(n).getWithdrawalFeeQuote({amountSats:e,withdrawalAddress:t})}}catch(e){return console.log("Get bitcoin payment fee estimate error",e),{didWork:!1,error:e.message}}},getSparkPaymentFeeEstimate:async({amountSats:e,mnemonic:t})=>{try{return(await Dx(t).getSwapFeeEstimate(e)).feeEstimate.originalValue||0}catch(e){return console.log("Get bitcoin payment fee estimate error",e),0}},getSparkLightningSendRequest:async({id:e,mnemonic:t})=>{try{return await Dx(t).getLightningSendRequest(e)}catch(e){console.log("Get spark lightning send request error",e)}},getSparkTokenTransactions:async({ownerPublicKeys:e,issuerPublicKeys:t,tokenTransactionHashes:n,tokenIdentifiers:r,outputIds:i,mnemonic:o,lastSavedTransactionId:s})=>{try{const a=await Dx(o).queryTokenTransactions({ownerPublicKeys:e,issuerPublicKeys:t,tokenTransactionHashes:n,tokenIdentifiers:r,outputIds:i}),c=a.tokenTransactionsWithStatus.map(e=>{const t=e.tokenTransaction,n=t.tokenOutputs?.[0];return{tokenTransactionHash:e.tokenTransactionHash,tokenTransaction:{clientCreatedTimestamp:t.clientCreatedTimestamp,tokenOutputs:n?[{ownerPublicKey:n.ownerPublicKey,tokenIdentifier:n.tokenIdentifier,tokenAmount:n.tokenAmount}]:[]}}});let u=c;if(s){const e=c.findIndex(e=>Jx.from(Object.values(e.tokenTransactionHash)).toString("hex")===s);-1!==e&&(u=c.slice(0,e))}return{tokenTransactionsWithStatus:u,offset:a.offset}}catch(e){return console.log("get spark transactions error",e),[]}},removeWalletEventListener:({mnemonic:e})=>{const t=Dx(e);t?.listenerCount("transfer:claimed")&&t.removeAllListeners("transfer:claimed")},addWalletEventListener:({mnemonic:e})=>{Dx(e).on("transfer:claimed",Hx)}},window.addEventListener("message",$x),document.addEventListener("message",$x)})()})();